<!-- HTML header for doxygen 1.8.18-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.18"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Ipopt: Ipopt::IpoptNLP Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="stylesheet.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 40px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Ipopt Documentation
   &#160;<!--span id="projectnumber">3.14.12</span-->
   </div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.18 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classIpopt_1_1IpoptNLP.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classIpopt_1_1IpoptNLP-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Ipopt::IpoptNLP Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>This is the abstract base class for classes that map the traditional <a class="el" href="classIpopt_1_1NLP.html" title="Traditional NLP.">NLP</a> into something that is more useful for Ipopt.  
 <a href="classIpopt_1_1IpoptNLP.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="IpIpoptNLP_8hpp_source.html">IpIpoptNLP.hpp</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for Ipopt::IpoptNLP:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="classIpopt_1_1IpoptNLP__inherit__graph.png" border="0" usemap="#Ipopt_1_1IpoptNLP_inherit__map" alt="Inheritance graph"/></div>
<map name="Ipopt_1_1IpoptNLP_inherit__map" id="Ipopt_1_1IpoptNLP_inherit__map">
<area shape="rect" title="This is the abstract base class for classes that map the traditional NLP into something that is more ..." alt="" coords="107,80,228,107"/>
<area shape="rect" href="classIpopt_1_1OrigIpoptNLP.html" title="This class maps the traditional NLP into something that is more useful for Ipopt." alt="" coords="5,155,153,181"/>
<area shape="rect" href="classIpopt_1_1RestoIpoptNLP.html" title="This class maps a IpoptNLP into one that is used for the restoration phase of Ipopt." alt="" coords="177,155,336,181"/>
<area shape="rect" href="classIpopt_1_1ReferencedObject.html" title="Storing the reference count of all the smart pointers that currently reference it." alt="" coords="78,5,257,32"/>
</map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ab04a620518256b49cd7d42dc57e38c96"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#ab04a620518256b49cd7d42dc57e38c96">Initialize</a> (const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;jnlst, const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;options, const std::string &amp;prefix)</td></tr>
<tr class="memdesc:ab04a620518256b49cd7d42dc57e38c96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialization method.  <a href="classIpopt_1_1IpoptNLP.html#ab04a620518256b49cd7d42dc57e38c96">More...</a><br /></td></tr>
<tr class="separator:ab04a620518256b49cd7d42dc57e38c96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70e6fc80da13309678a3a446087b9016"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a70e6fc80da13309678a3a446087b9016">InitializeStructures</a> (<a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt; &amp;x, bool init_x, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt; &amp;y_c, bool init_y_c, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt; &amp;y_d, bool init_y_d, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt; &amp;z_L, bool init_z_L, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt; &amp;z_U, bool init_z_U, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt; &amp;v_L, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt; &amp;v_U)=0</td></tr>
<tr class="memdesc:a70e6fc80da13309678a3a446087b9016"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize (create) structures for the iteration data.  <a href="classIpopt_1_1IpoptNLP.html#a70e6fc80da13309678a3a446087b9016">More...</a><br /></td></tr>
<tr class="separator:a70e6fc80da13309678a3a446087b9016"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6603973606103eb06dc1c37366a00910"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a6603973606103eb06dc1c37366a00910">GetWarmStartIterate</a> (<a class="el" href="classIpopt_1_1IteratesVector.html">IteratesVector</a> &amp;warm_start_iterate)=0</td></tr>
<tr class="memdesc:a6603973606103eb06dc1c37366a00910"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method accessing the GetWarmStartIterate of the <a class="el" href="classIpopt_1_1NLP.html" title="Traditional NLP.">NLP</a>.  <a href="classIpopt_1_1IpoptNLP.html#a6603973606103eb06dc1c37366a00910">More...</a><br /></td></tr>
<tr class="separator:a6603973606103eb06dc1c37366a00910"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a3987d27e6bd002a12168de5fd5600a"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a1a3987d27e6bd002a12168de5fd5600a">GetSpaces</a> (<a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1VectorSpace.html">VectorSpace</a> &gt; &amp;<a class="el" href="classIpopt_1_1IpoptNLP.html#a4b4ff07de1cb8b58eb27c18b45a788fc">x_space</a>, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1VectorSpace.html">VectorSpace</a> &gt; &amp;c_space, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1VectorSpace.html">VectorSpace</a> &gt; &amp;d_space, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1VectorSpace.html">VectorSpace</a> &gt; &amp;x_l_space, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1MatrixSpace.html">MatrixSpace</a> &gt; &amp;px_l_space, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1VectorSpace.html">VectorSpace</a> &gt; &amp;x_u_space, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1MatrixSpace.html">MatrixSpace</a> &gt; &amp;px_u_space, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1VectorSpace.html">VectorSpace</a> &gt; &amp;d_l_space, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1MatrixSpace.html">MatrixSpace</a> &gt; &amp;pd_l_space, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1VectorSpace.html">VectorSpace</a> &gt; &amp;d_u_space, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1MatrixSpace.html">MatrixSpace</a> &gt; &amp;pd_u_space, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1MatrixSpace.html">MatrixSpace</a> &gt; &amp;Jac_c_space, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1MatrixSpace.html">MatrixSpace</a> &gt; &amp;Jac_d_space, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1SymMatrixSpace.html">SymMatrixSpace</a> &gt; &amp;Hess_lagrangian_space)=0</td></tr>
<tr class="memdesc:a1a3987d27e6bd002a12168de5fd5600a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accessor method for vector/matrix spaces pointers.  <a href="classIpopt_1_1IpoptNLP.html#a1a3987d27e6bd002a12168de5fd5600a">More...</a><br /></td></tr>
<tr class="separator:a1a3987d27e6bd002a12168de5fd5600a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa37f418b204ddf06cc256282396f0624"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#aa37f418b204ddf06cc256282396f0624">AdjustVariableBounds</a> (const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;new_x_L, const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;new_x_U, const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;new_d_L, const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;new_d_U)=0</td></tr>
<tr class="memdesc:aa37f418b204ddf06cc256282396f0624"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method for adapting the variable bounds.  <a href="classIpopt_1_1IpoptNLP.html#aa37f418b204ddf06cc256282396f0624">More...</a><br /></td></tr>
<tr class="separator:aa37f418b204ddf06cc256282396f0624"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab17c6c1810f3357281b9fedfc792b79c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1NLPScalingObject.html">NLPScalingObject</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#ab17c6c1810f3357281b9fedfc792b79c">NLP_scaling</a> () const</td></tr>
<tr class="memdesc:ab17c6c1810f3357281b9fedfc792b79c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the scaling strategy object.  <a href="classIpopt_1_1IpoptNLP.html#ab17c6c1810f3357281b9fedfc792b79c">More...</a><br /></td></tr>
<tr class="separator:ab17c6c1810f3357281b9fedfc792b79c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Constructors/Destructors</div></td></tr>
<tr class="memitem:aaa7d01346731a53ee42caca4769b0792"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#aaa7d01346731a53ee42caca4769b0792">IpoptNLP</a> (const <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1NLPScalingObject.html">NLPScalingObject</a> &gt; nlp_scaling)</td></tr>
<tr class="separator:aaa7d01346731a53ee42caca4769b0792"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5be1038d4d1e431c37868475760afdef"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a5be1038d4d1e431c37868475760afdef">~IpoptNLP</a> ()</td></tr>
<tr class="memdesc:a5be1038d4d1e431c37868475760afdef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="classIpopt_1_1IpoptNLP.html#a5be1038d4d1e431c37868475760afdef">More...</a><br /></td></tr>
<tr class="separator:a5be1038d4d1e431c37868475760afdef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Possible Exceptions</div></td></tr>
<tr class="memitem:a387e82247bdf1199033334d535b330af"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a387e82247bdf1199033334d535b330af">DECLARE_STD_EXCEPTION</a> (Eval_Error)</td></tr>
<tr class="memdesc:a387e82247bdf1199033334d535b330af"><td class="mdescLeft">&#160;</td><td class="mdescRight">thrown if there is any error evaluating values from the nlp  <a href="classIpopt_1_1IpoptNLP.html#a387e82247bdf1199033334d535b330af">More...</a><br /></td></tr>
<tr class="separator:a387e82247bdf1199033334d535b330af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:a517a6f7cda1138f6adb6ab460f129ce5"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a517a6f7cda1138f6adb6ab460f129ce5">f</a> (const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;x)=0</td></tr>
<tr class="memdesc:a517a6f7cda1138f6adb6ab460f129ce5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accessor methods for model data.  <a href="classIpopt_1_1IpoptNLP.html#a517a6f7cda1138f6adb6ab460f129ce5">More...</a><br /></td></tr>
<tr class="separator:a517a6f7cda1138f6adb6ab460f129ce5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69862aeed84d4f896287fdaada587401"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a69862aeed84d4f896287fdaada587401">grad_f</a> (const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;x)=0</td></tr>
<tr class="memdesc:a69862aeed84d4f896287fdaada587401"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gradient of the objective.  <a href="classIpopt_1_1IpoptNLP.html#a69862aeed84d4f896287fdaada587401">More...</a><br /></td></tr>
<tr class="separator:a69862aeed84d4f896287fdaada587401"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91c2b699a51efb6de45acabc8b2c0c54"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a91c2b699a51efb6de45acabc8b2c0c54">c</a> (const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;x)=0</td></tr>
<tr class="memdesc:a91c2b699a51efb6de45acabc8b2c0c54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Equality constraint residual.  <a href="classIpopt_1_1IpoptNLP.html#a91c2b699a51efb6de45acabc8b2c0c54">More...</a><br /></td></tr>
<tr class="separator:a91c2b699a51efb6de45acabc8b2c0c54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6015824486dadc11367faee620a1900"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1Matrix.html">Matrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#ad6015824486dadc11367faee620a1900">jac_c</a> (const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;x)=0</td></tr>
<tr class="memdesc:ad6015824486dadc11367faee620a1900"><td class="mdescLeft">&#160;</td><td class="mdescRight">Jacobian <a class="el" href="classIpopt_1_1Matrix.html" title="Matrix Base Class.">Matrix</a> for equality constraints.  <a href="classIpopt_1_1IpoptNLP.html#ad6015824486dadc11367faee620a1900">More...</a><br /></td></tr>
<tr class="separator:ad6015824486dadc11367faee620a1900"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acecae7eb775e3be2f4db18269badfc83"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#acecae7eb775e3be2f4db18269badfc83">d</a> (const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;x)=0</td></tr>
<tr class="memdesc:acecae7eb775e3be2f4db18269badfc83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inequality constraint residual (reformulated as equalities with slacks.  <a href="classIpopt_1_1IpoptNLP.html#acecae7eb775e3be2f4db18269badfc83">More...</a><br /></td></tr>
<tr class="separator:acecae7eb775e3be2f4db18269badfc83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c3c1dd454ec49556065a1e8da912b09"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1Matrix.html">Matrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a0c3c1dd454ec49556065a1e8da912b09">jac_d</a> (const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;x)=0</td></tr>
<tr class="memdesc:a0c3c1dd454ec49556065a1e8da912b09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Jacobian <a class="el" href="classIpopt_1_1Matrix.html" title="Matrix Base Class.">Matrix</a> for inequality constraints.  <a href="classIpopt_1_1IpoptNLP.html#a0c3c1dd454ec49556065a1e8da912b09">More...</a><br /></td></tr>
<tr class="separator:a0c3c1dd454ec49556065a1e8da912b09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a575f7667506c60531be1db1329a8bb6c"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1SymMatrix.html">SymMatrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a575f7667506c60531be1db1329a8bb6c">h</a> (const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;x, <a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> obj_factor, const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;yc, const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;yd)=0</td></tr>
<tr class="memdesc:a575f7667506c60531be1db1329a8bb6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hessian of the Lagrangian.  <a href="classIpopt_1_1IpoptNLP.html#a575f7667506c60531be1db1329a8bb6c">More...</a><br /></td></tr>
<tr class="separator:a575f7667506c60531be1db1329a8bb6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a8487ffd973a43aecd653028bdc20b5"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a0a8487ffd973a43aecd653028bdc20b5">x_L</a> () const =0</td></tr>
<tr class="memdesc:a0a8487ffd973a43aecd653028bdc20b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lower bounds on x.  <a href="classIpopt_1_1IpoptNLP.html#a0a8487ffd973a43aecd653028bdc20b5">More...</a><br /></td></tr>
<tr class="separator:a0a8487ffd973a43aecd653028bdc20b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e17ce50fc2aae99a4fe7e7af7add101"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1Matrix.html">Matrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a9e17ce50fc2aae99a4fe7e7af7add101">Px_L</a> () const =0</td></tr>
<tr class="memdesc:a9e17ce50fc2aae99a4fe7e7af7add101"><td class="mdescLeft">&#160;</td><td class="mdescRight">Permutation matrix (x_L_ -&gt; x)  <a href="classIpopt_1_1IpoptNLP.html#a9e17ce50fc2aae99a4fe7e7af7add101">More...</a><br /></td></tr>
<tr class="separator:a9e17ce50fc2aae99a4fe7e7af7add101"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a468a91cdd8487d19555c644c6b2f6abb"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a468a91cdd8487d19555c644c6b2f6abb">x_U</a> () const =0</td></tr>
<tr class="memdesc:a468a91cdd8487d19555c644c6b2f6abb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Upper bounds on x.  <a href="classIpopt_1_1IpoptNLP.html#a468a91cdd8487d19555c644c6b2f6abb">More...</a><br /></td></tr>
<tr class="separator:a468a91cdd8487d19555c644c6b2f6abb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a975484ba68b4c81026fc796a0f5668f0"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1Matrix.html">Matrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a975484ba68b4c81026fc796a0f5668f0">Px_U</a> () const =0</td></tr>
<tr class="memdesc:a975484ba68b4c81026fc796a0f5668f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Permutation matrix (x_U_ -&gt; x.  <a href="classIpopt_1_1IpoptNLP.html#a975484ba68b4c81026fc796a0f5668f0">More...</a><br /></td></tr>
<tr class="separator:a975484ba68b4c81026fc796a0f5668f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d05932b15b1d6de17402e1a5bf39db4"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a4d05932b15b1d6de17402e1a5bf39db4">d_L</a> () const =0</td></tr>
<tr class="memdesc:a4d05932b15b1d6de17402e1a5bf39db4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lower bounds on d.  <a href="classIpopt_1_1IpoptNLP.html#a4d05932b15b1d6de17402e1a5bf39db4">More...</a><br /></td></tr>
<tr class="separator:a4d05932b15b1d6de17402e1a5bf39db4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a5df11a5a9ccfb35b6fd1095294fb47"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1Matrix.html">Matrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a6a5df11a5a9ccfb35b6fd1095294fb47">Pd_L</a> () const =0</td></tr>
<tr class="memdesc:a6a5df11a5a9ccfb35b6fd1095294fb47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Permutation matrix (d_L_ -&gt; d)  <a href="classIpopt_1_1IpoptNLP.html#a6a5df11a5a9ccfb35b6fd1095294fb47">More...</a><br /></td></tr>
<tr class="separator:a6a5df11a5a9ccfb35b6fd1095294fb47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82fd62f7a40a6f5545bfbb66e0e2a007"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a82fd62f7a40a6f5545bfbb66e0e2a007">d_U</a> () const =0</td></tr>
<tr class="memdesc:a82fd62f7a40a6f5545bfbb66e0e2a007"><td class="mdescLeft">&#160;</td><td class="mdescRight">Upper bounds on d.  <a href="classIpopt_1_1IpoptNLP.html#a82fd62f7a40a6f5545bfbb66e0e2a007">More...</a><br /></td></tr>
<tr class="separator:a82fd62f7a40a6f5545bfbb66e0e2a007"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a978d09309fbf77d46ce26021512c5a15"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1Matrix.html">Matrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a978d09309fbf77d46ce26021512c5a15">Pd_U</a> () const =0</td></tr>
<tr class="memdesc:a978d09309fbf77d46ce26021512c5a15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Permutation matrix (d_U_ -&gt; d.  <a href="classIpopt_1_1IpoptNLP.html#a978d09309fbf77d46ce26021512c5a15">More...</a><br /></td></tr>
<tr class="separator:a978d09309fbf77d46ce26021512c5a15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b4ff07de1cb8b58eb27c18b45a788fc"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1VectorSpace.html">VectorSpace</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a4b4ff07de1cb8b58eb27c18b45a788fc">x_space</a> () const =0</td></tr>
<tr class="memdesc:a4b4ff07de1cb8b58eb27c18b45a788fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">x_space  <a href="classIpopt_1_1IpoptNLP.html#a4b4ff07de1cb8b58eb27c18b45a788fc">More...</a><br /></td></tr>
<tr class="separator:a4b4ff07de1cb8b58eb27c18b45a788fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9e6ccff3e44a36add3ab5a239a67e5d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1SymMatrixSpace.html">SymMatrixSpace</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#aa9e6ccff3e44a36add3ab5a239a67e5d">HessianMatrixSpace</a> () const =0</td></tr>
<tr class="memdesc:aa9e6ccff3e44a36add3ab5a239a67e5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accessor method to obtain the <a class="el" href="classIpopt_1_1MatrixSpace.html" title="MatrixSpace base class, corresponding to the Matrix base class.">MatrixSpace</a> for the Hessian matrix (or it's approximation)  <a href="classIpopt_1_1IpoptNLP.html#aa9e6ccff3e44a36add3ab5a239a67e5d">More...</a><br /></td></tr>
<tr class="separator:aa9e6ccff3e44a36add3ab5a239a67e5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Counters for the number of function evaluations.</div></td></tr>
<tr class="memitem:a2ffab0bc6351f661c852a5b8af4a3806"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a2ffab0bc6351f661c852a5b8af4a3806">f_evals</a> () const =0</td></tr>
<tr class="separator:a2ffab0bc6351f661c852a5b8af4a3806"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acaa0bb9fd1a192eb3054b266a57b49f8"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#acaa0bb9fd1a192eb3054b266a57b49f8">grad_f_evals</a> () const =0</td></tr>
<tr class="separator:acaa0bb9fd1a192eb3054b266a57b49f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77738f5e762f18d89d79ee0dbab22b8e"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a77738f5e762f18d89d79ee0dbab22b8e">c_evals</a> () const =0</td></tr>
<tr class="separator:a77738f5e762f18d89d79ee0dbab22b8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace941433752a08ea1a3a802d70d7394f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#ace941433752a08ea1a3a802d70d7394f">jac_c_evals</a> () const =0</td></tr>
<tr class="separator:ace941433752a08ea1a3a802d70d7394f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5904d8ed12251843bfe66fb4ddbfc3e0"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a5904d8ed12251843bfe66fb4ddbfc3e0">d_evals</a> () const =0</td></tr>
<tr class="separator:a5904d8ed12251843bfe66fb4ddbfc3e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b3cd186c84eafe0936149403076064b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a9b3cd186c84eafe0936149403076064b">jac_d_evals</a> () const =0</td></tr>
<tr class="separator:a9b3cd186c84eafe0936149403076064b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea2902047ff72c2821cdc50f15d49e69"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#aea2902047ff72c2821cdc50f15d49e69">h_evals</a> () const =0</td></tr>
<tr class="separator:aea2902047ff72c2821cdc50f15d49e69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Special method for dealing with the fact that the</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>restoration phase objective function depends on the barrier parameter </p>
</div></td></tr>
<tr class="memitem:a11018a9bd2cae56e4a92e5a920d8e452"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a11018a9bd2cae56e4a92e5a920d8e452">objective_depends_on_mu</a> () const</td></tr>
<tr class="memdesc:a11018a9bd2cae56e4a92e5a920d8e452"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method for telling the <a class="el" href="classIpopt_1_1IpoptCalculatedQuantities.html" title="Class for all IPOPT specific calculated quantities.">IpoptCalculatedQuantities</a> class whether the objective function depends on the barrier function.  <a href="classIpopt_1_1IpoptNLP.html#a11018a9bd2cae56e4a92e5a920d8e452">More...</a><br /></td></tr>
<tr class="separator:a11018a9bd2cae56e4a92e5a920d8e452"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0f91d868694f977cc7c8d09eadb9c28"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#ab0f91d868694f977cc7c8d09eadb9c28">f</a> (const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;x, <a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> mu)=0</td></tr>
<tr class="memdesc:ab0f91d868694f977cc7c8d09eadb9c28"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replacement for the default objective function method which knows about the barrier parameter.  <a href="classIpopt_1_1IpoptNLP.html#ab0f91d868694f977cc7c8d09eadb9c28">More...</a><br /></td></tr>
<tr class="separator:ab0f91d868694f977cc7c8d09eadb9c28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca6cbd452e177a6acf0be582c5fc31b3"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#aca6cbd452e177a6acf0be582c5fc31b3">grad_f</a> (const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;x, <a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> mu)=0</td></tr>
<tr class="memdesc:aca6cbd452e177a6acf0be582c5fc31b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replacement for the default objective gradient method which knows about the barrier parameter.  <a href="classIpopt_1_1IpoptNLP.html#aca6cbd452e177a6acf0be582c5fc31b3">More...</a><br /></td></tr>
<tr class="separator:aca6cbd452e177a6acf0be582c5fc31b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76e5d4c3a8c0b754b14f14934f85d7fc"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1SymMatrix.html">SymMatrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a76e5d4c3a8c0b754b14f14934f85d7fc">h</a> (const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;x, <a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> obj_factor, const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;yc, const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;yd, <a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> mu)=0</td></tr>
<tr class="memdesc:a76e5d4c3a8c0b754b14f14934f85d7fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replacement for the default Lagrangian Hessian method which knows about the barrier parameter.  <a href="classIpopt_1_1IpoptNLP.html#a76e5d4c3a8c0b754b14f14934f85d7fc">More...</a><br /></td></tr>
<tr class="separator:a76e5d4c3a8c0b754b14f14934f85d7fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe3cca9adebb3bcc95c22c398dd86d46"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1SymMatrix.html">SymMatrix</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#abe3cca9adebb3bcc95c22c398dd86d46">uninitialized_h</a> ()=0</td></tr>
<tr class="memdesc:abe3cca9adebb3bcc95c22c398dd86d46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a Hessian matrix from the correct matrix space with uninitialized values.  <a href="classIpopt_1_1IpoptNLP.html#abe3cca9adebb3bcc95c22c398dd86d46">More...</a><br /></td></tr>
<tr class="separator:abe3cca9adebb3bcc95c22c398dd86d46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">solution routines</div></td></tr>
<tr class="memitem:a60987910a9e5b98a8b7d0a6de159dbc9"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a60987910a9e5b98a8b7d0a6de159dbc9">FinalizeSolution</a> (<a class="el" href="namespaceIpopt.html#a53a5dc5f64f568252ba7bb7385e7f834">SolverReturn</a> status, const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;x, const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;z_L, const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;z_U, const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;<a class="el" href="classIpopt_1_1IpoptNLP.html#a91c2b699a51efb6de45acabc8b2c0c54">c</a>, const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;<a class="el" href="classIpopt_1_1IpoptNLP.html#acecae7eb775e3be2f4db18269badfc83">d</a>, const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;y_c, const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;y_d, <a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> obj_value, const <a class="el" href="classIpopt_1_1IpoptData.html">IpoptData</a> *ip_data, <a class="el" href="classIpopt_1_1IpoptCalculatedQuantities.html">IpoptCalculatedQuantities</a> *ip_cq)=0</td></tr>
<tr class="separator:a60987910a9e5b98a8b7d0a6de159dbc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4288990eceacf3c09c663f3954ff27d6"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a4288990eceacf3c09c663f3954ff27d6">IntermediateCallBack</a> (<a class="el" href="IpReturnCodes__inc_8h.html#a5daff61568f9909c518fb61116260387">AlgorithmMode</a> mode, <a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a> iter, <a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> obj_value, <a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> inf_pr, <a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> inf_du, <a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> mu, <a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> d_norm, <a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> regularization_size, <a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> alpha_du, <a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> alpha_pr, <a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a> ls_trials, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1IpoptData.html">IpoptData</a> &gt; ip_data, <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1IpoptCalculatedQuantities.html">IpoptCalculatedQuantities</a> &gt; ip_cq)=0</td></tr>
<tr class="separator:a4288990eceacf3c09c663f3954ff27d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classIpopt_1_1ReferencedObject"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classIpopt_1_1ReferencedObject')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classIpopt_1_1ReferencedObject.html">Ipopt::ReferencedObject</a></td></tr>
<tr class="memitem:a5c0f2208e3ead22bf7c5179381ed8203 inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#a5c0f2208e3ead22bf7c5179381ed8203">ReferencedObject</a> ()</td></tr>
<tr class="separator:a5c0f2208e3ead22bf7c5179381ed8203 inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbbf3aa5307da62ab8224ba599d4bd7a inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#adbbf3aa5307da62ab8224ba599d4bd7a">~ReferencedObject</a> ()</td></tr>
<tr class="separator:adbbf3aa5307da62ab8224ba599d4bd7a inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac517534e10e36c946aeefc6fe337777 inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#aac517534e10e36c946aeefc6fe337777">ReferenceCount</a> () const</td></tr>
<tr class="separator:aac517534e10e36c946aeefc6fe337777 inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa69ecb0f026bd741e2fa84c31d4ec332 inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#aa69ecb0f026bd741e2fa84c31d4ec332">AddRef</a> (const <a class="el" href="classIpopt_1_1Referencer.html">Referencer</a> *referencer) const</td></tr>
<tr class="separator:aa69ecb0f026bd741e2fa84c31d4ec332 inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6c952e7d1a63080dc8f121c008944fc inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#ae6c952e7d1a63080dc8f121c008944fc">ReleaseRef</a> (const <a class="el" href="classIpopt_1_1Referencer.html">Referencer</a> *referencer) const</td></tr>
<tr class="separator:ae6c952e7d1a63080dc8f121c008944fc inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Default Compiler Generated Methods</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>(Hidden to avoid implicit creation/calling).</p>
<p>These methods are not implemented and we do not want the compiler to implement them for us, so we declare them private and do not define them. This ensures that they will not be implicitly created/called. </p>
</div></td></tr>
<tr class="memitem:a182f6ee331a78ceeaa16921273d947d8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a182f6ee331a78ceeaa16921273d947d8">IpoptNLP</a> (const <a class="el" href="classIpopt_1_1IpoptNLP.html">IpoptNLP</a> &amp;)</td></tr>
<tr class="memdesc:a182f6ee331a78ceeaa16921273d947d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy Constructor.  <a href="classIpopt_1_1IpoptNLP.html#a182f6ee331a78ceeaa16921273d947d8">More...</a><br /></td></tr>
<tr class="separator:a182f6ee331a78ceeaa16921273d947d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43966659d3c5454442d758e356a615d8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#a43966659d3c5454442d758e356a615d8">operator=</a> (const <a class="el" href="classIpopt_1_1IpoptNLP.html">IpoptNLP</a> &amp;)</td></tr>
<tr class="memdesc:a43966659d3c5454442d758e356a615d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Assignment Operator.  <a href="classIpopt_1_1IpoptNLP.html#a43966659d3c5454442d758e356a615d8">More...</a><br /></td></tr>
<tr class="separator:a43966659d3c5454442d758e356a615d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:aab65358b304095a3bf3d5865df20dc58"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1NLPScalingObject.html">NLPScalingObject</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1IpoptNLP.html#aab65358b304095a3bf3d5865df20dc58">nlp_scaling_</a></td></tr>
<tr class="separator:aab65358b304095a3bf3d5865df20dc58"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This is the abstract base class for classes that map the traditional <a class="el" href="classIpopt_1_1NLP.html" title="Traditional NLP.">NLP</a> into something that is more useful for Ipopt. </p>
<p>As for <a class="el" href="classIpopt_1_1NLP.html" title="Traditional NLP.">NLP</a>, the represented NLP is </p><p class="formulaDsp">
\begin{eqnarray*} \mathrm{min} &amp;&amp; f(x), \\ \mathrm{s.t.} &amp;&amp; c(x) = 0, &amp;\qquad y_c\\ &amp;&amp; d_L \leq d(x) \leq d_U, &amp;\qquad y_d \\ &amp;&amp; x_L \leq x \leq x_U, &amp;\qquad z_L, z_U \end{eqnarray*}
</p>
<p> where \(y_c\), \(y_d\), \(z_L\), \(z_U\) name the dual variables of the corresponding constraints.</p>
<p>This class takes care of storing the calculated model results, handles caching, scaling, and (some day) takes care of addition of slacks. </p>

<p class="definition">Definition at line <a class="el" href="IpIpoptNLP_8hpp_source.html#l00035">35</a> of file <a class="el" href="IpIpoptNLP_8hpp_source.html">IpIpoptNLP.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aaa7d01346731a53ee42caca4769b0792"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa7d01346731a53ee42caca4769b0792">&#9670;&nbsp;</a></span>IpoptNLP() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Ipopt::IpoptNLP::IpoptNLP </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1NLPScalingObject.html">NLPScalingObject</a> &gt;&#160;</td>
          <td class="paramname"><em>nlp_scaling</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="IpIpoptNLP_8hpp_source.html#l00040">40</a> of file <a class="el" href="IpIpoptNLP_8hpp_source.html">IpIpoptNLP.hpp</a>.</p>

</div>
</div>
<a id="a5be1038d4d1e431c37868475760afdef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5be1038d4d1e431c37868475760afdef">&#9670;&nbsp;</a></span>~IpoptNLP()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual Ipopt::IpoptNLP::~IpoptNLP </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destructor. </p>

<p class="definition">Definition at line <a class="el" href="IpIpoptNLP_8hpp_source.html#l00047">47</a> of file <a class="el" href="IpIpoptNLP_8hpp_source.html">IpIpoptNLP.hpp</a>.</p>

</div>
</div>
<a id="a182f6ee331a78ceeaa16921273d947d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a182f6ee331a78ceeaa16921273d947d8">&#9670;&nbsp;</a></span>IpoptNLP() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Ipopt::IpoptNLP::IpoptNLP </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1IpoptNLP.html">IpoptNLP</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Copy Constructor. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ab04a620518256b49cd7d42dc57e38c96"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab04a620518256b49cd7d42dc57e38c96">&#9670;&nbsp;</a></span>Initialize()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool Ipopt::IpoptNLP::Initialize </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Journalist.html">Journalist</a> &amp;&#160;</td>
          <td class="paramname"><em>jnlst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1OptionsList.html">OptionsList</a> &amp;&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>prefix</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Initialization method. </p>
<p>Set the internal options and initialize internal data structures. </p>

<p>Reimplemented in <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#aaf6274d1366054fe031d50dbb2b05322">Ipopt::OrigIpoptNLP</a>, and <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#a7e4586f55986411e2367b3999c4acfcc">Ipopt::RestoIpoptNLP</a>.</p>

<p class="definition">Definition at line <a class="el" href="IpIpoptNLP_8hpp_source.html#l00055">55</a> of file <a class="el" href="IpIpoptNLP_8hpp_source.html">IpIpoptNLP.hpp</a>.</p>

</div>
</div>
<a id="a387e82247bdf1199033334d535b330af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a387e82247bdf1199033334d535b330af">&#9670;&nbsp;</a></span>DECLARE_STD_EXCEPTION()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Ipopt::IpoptNLP::DECLARE_STD_EXCEPTION </td>
          <td>(</td>
          <td class="paramtype">Eval_Error&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>thrown if there is any error evaluating values from the nlp </p>

</div>
</div>
<a id="a70e6fc80da13309678a3a446087b9016"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70e6fc80da13309678a3a446087b9016">&#9670;&nbsp;</a></span>InitializeStructures()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool Ipopt::IpoptNLP::InitializeStructures </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>init_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>y_c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>init_y_c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>y_d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>init_y_d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>z_L</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>init_z_L</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>z_U</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>init_z_U</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>v_L</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>v_U</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Initialize (create) structures for the iteration data. </p>

<p>Implemented in <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#a8ba80f8702c0bcfe314168c4ba744625">Ipopt::OrigIpoptNLP</a>, and <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#a246bd94feae7b7a6cc1be6ba348af937">Ipopt::RestoIpoptNLP</a>.</p>

</div>
</div>
<a id="a6603973606103eb06dc1c37366a00910"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6603973606103eb06dc1c37366a00910">&#9670;&nbsp;</a></span>GetWarmStartIterate()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool Ipopt::IpoptNLP::GetWarmStartIterate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1IteratesVector.html">IteratesVector</a> &amp;&#160;</td>
          <td class="paramname"><em>warm_start_iterate</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method accessing the GetWarmStartIterate of the <a class="el" href="classIpopt_1_1NLP.html" title="Traditional NLP.">NLP</a>. </p>

<p>Implemented in <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#a1f4677be13ceeed6c984212b8b374dfd">Ipopt::OrigIpoptNLP</a>, and <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#a275a63cf6979308ea28875c365eaa914">Ipopt::RestoIpoptNLP</a>.</p>

</div>
</div>
<a id="a517a6f7cda1138f6adb6ab460f129ce5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a517a6f7cda1138f6adb6ab460f129ce5">&#9670;&nbsp;</a></span>f() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> Ipopt::IpoptNLP::f </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Accessor methods for model data. </p>
<p>Objective value </p>

<p>Implemented in <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#af3905d7b622b8b3f1dad081fd67a78ed">Ipopt::RestoIpoptNLP</a>, and <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#a05a5d8a90ee6e519f1eeeabaa54c868e">Ipopt::OrigIpoptNLP</a>.</p>

</div>
</div>
<a id="a69862aeed84d4f896287fdaada587401"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69862aeed84d4f896287fdaada587401">&#9670;&nbsp;</a></span>grad_f() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;const <a class="el" href="classIpopt_1_1Vector.html">Vector</a>&gt; Ipopt::IpoptNLP::grad_f </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gradient of the objective. </p>

<p>Implemented in <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#abb362798946e1668a4d90e3fbd29174f">Ipopt::RestoIpoptNLP</a>, and <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#aeb686245ea165f74b81cf4a53681ca8f">Ipopt::OrigIpoptNLP</a>.</p>

</div>
</div>
<a id="a91c2b699a51efb6de45acabc8b2c0c54"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a91c2b699a51efb6de45acabc8b2c0c54">&#9670;&nbsp;</a></span>c()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;const <a class="el" href="classIpopt_1_1Vector.html">Vector</a>&gt; Ipopt::IpoptNLP::c </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Equality constraint residual. </p>

<p>Implemented in <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#add2b30815d41a07c0c1e5d9c761f6b3d">Ipopt::OrigIpoptNLP</a>, and <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#a43475df141b511d8f09de43e8cd6ce9f">Ipopt::RestoIpoptNLP</a>.</p>

</div>
</div>
<a id="ad6015824486dadc11367faee620a1900"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6015824486dadc11367faee620a1900">&#9670;&nbsp;</a></span>jac_c()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;const <a class="el" href="classIpopt_1_1Matrix.html">Matrix</a>&gt; Ipopt::IpoptNLP::jac_c </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Jacobian <a class="el" href="classIpopt_1_1Matrix.html" title="Matrix Base Class.">Matrix</a> for equality constraints. </p>

<p>Implemented in <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#a2502d6a5f24c48794274ce724dfbd22a">Ipopt::OrigIpoptNLP</a>, and <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#aa26507884599c23dd482e94f07ecfe84">Ipopt::RestoIpoptNLP</a>.</p>

</div>
</div>
<a id="acecae7eb775e3be2f4db18269badfc83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acecae7eb775e3be2f4db18269badfc83">&#9670;&nbsp;</a></span>d()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;const <a class="el" href="classIpopt_1_1Vector.html">Vector</a>&gt; Ipopt::IpoptNLP::d </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Inequality constraint residual (reformulated as equalities with slacks. </p>

<p>Implemented in <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#aaf1cf105af94a567c1640096e5ebbd54">Ipopt::OrigIpoptNLP</a>, and <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#acf68a30e72f361d9dbe78184d779da98">Ipopt::RestoIpoptNLP</a>.</p>

</div>
</div>
<a id="a0c3c1dd454ec49556065a1e8da912b09"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c3c1dd454ec49556065a1e8da912b09">&#9670;&nbsp;</a></span>jac_d()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;const <a class="el" href="classIpopt_1_1Matrix.html">Matrix</a>&gt; Ipopt::IpoptNLP::jac_d </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Jacobian <a class="el" href="classIpopt_1_1Matrix.html" title="Matrix Base Class.">Matrix</a> for inequality constraints. </p>

<p>Implemented in <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#abe784a26cb3ec89443c79cb6f9d345cf">Ipopt::OrigIpoptNLP</a>, and <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#a2231c02a499f9389dd42952363a40501">Ipopt::RestoIpoptNLP</a>.</p>

</div>
</div>
<a id="a575f7667506c60531be1db1329a8bb6c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a575f7667506c60531be1db1329a8bb6c">&#9670;&nbsp;</a></span>h() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;const <a class="el" href="classIpopt_1_1SymMatrix.html">SymMatrix</a>&gt; Ipopt::IpoptNLP::h </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td>
          <td class="paramname"><em>obj_factor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>yc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>yd</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Hessian of the Lagrangian. </p>

<p>Implemented in <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#a851b247718ce6a30090e83613e1395fe">Ipopt::OrigIpoptNLP</a>, and <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#a9a8b4155dcc711addd494d1d36b29de8">Ipopt::RestoIpoptNLP</a>.</p>

</div>
</div>
<a id="a0a8487ffd973a43aecd653028bdc20b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a8487ffd973a43aecd653028bdc20b5">&#9670;&nbsp;</a></span>x_L()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;const <a class="el" href="classIpopt_1_1Vector.html">Vector</a>&gt; Ipopt::IpoptNLP::x_L </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Lower bounds on x. </p>

<p>Implemented in <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#a058c365d72ccff8862c1712f7748637e">Ipopt::OrigIpoptNLP</a>, and <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#a5e810b1c02b676fe211aafce39c13462">Ipopt::RestoIpoptNLP</a>.</p>

</div>
</div>
<a id="a9e17ce50fc2aae99a4fe7e7af7add101"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e17ce50fc2aae99a4fe7e7af7add101">&#9670;&nbsp;</a></span>Px_L()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;const <a class="el" href="classIpopt_1_1Matrix.html">Matrix</a>&gt; Ipopt::IpoptNLP::Px_L </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Permutation matrix (x_L_ -&gt; x) </p>

<p>Implemented in <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#a73760bd50e4d02e485f579efd4368579">Ipopt::OrigIpoptNLP</a>, and <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#a79d530793ef1c6a858beaeae7fae3a76">Ipopt::RestoIpoptNLP</a>.</p>

</div>
</div>
<a id="a468a91cdd8487d19555c644c6b2f6abb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a468a91cdd8487d19555c644c6b2f6abb">&#9670;&nbsp;</a></span>x_U()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;const <a class="el" href="classIpopt_1_1Vector.html">Vector</a>&gt; Ipopt::IpoptNLP::x_U </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Upper bounds on x. </p>

<p>Implemented in <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#acccdbaa115b9e6c705c162f80d8e0c04">Ipopt::OrigIpoptNLP</a>, and <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#af8ce923bf9d62135188e31f620376c38">Ipopt::RestoIpoptNLP</a>.</p>

</div>
</div>
<a id="a975484ba68b4c81026fc796a0f5668f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a975484ba68b4c81026fc796a0f5668f0">&#9670;&nbsp;</a></span>Px_U()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;const <a class="el" href="classIpopt_1_1Matrix.html">Matrix</a>&gt; Ipopt::IpoptNLP::Px_U </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Permutation matrix (x_U_ -&gt; x. </p>

<p>Implemented in <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#ad70a791a0bf5941ab225537a9f37a446">Ipopt::OrigIpoptNLP</a>, and <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#a3f9263c39054b6732c2d88d192c496a7">Ipopt::RestoIpoptNLP</a>.</p>

</div>
</div>
<a id="a4d05932b15b1d6de17402e1a5bf39db4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d05932b15b1d6de17402e1a5bf39db4">&#9670;&nbsp;</a></span>d_L()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;const <a class="el" href="classIpopt_1_1Vector.html">Vector</a>&gt; Ipopt::IpoptNLP::d_L </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Lower bounds on d. </p>

<p>Implemented in <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#aa474bb7dbab2d7ccb1f2d028d2a80243">Ipopt::OrigIpoptNLP</a>, and <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#abd96f542698a9a2d6acb296e397be13e">Ipopt::RestoIpoptNLP</a>.</p>

</div>
</div>
<a id="a6a5df11a5a9ccfb35b6fd1095294fb47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6a5df11a5a9ccfb35b6fd1095294fb47">&#9670;&nbsp;</a></span>Pd_L()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;const <a class="el" href="classIpopt_1_1Matrix.html">Matrix</a>&gt; Ipopt::IpoptNLP::Pd_L </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Permutation matrix (d_L_ -&gt; d) </p>

<p>Implemented in <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#af641fa37708d7182efd52a9bc50e8092">Ipopt::OrigIpoptNLP</a>, and <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#aae4c38749b80afbdd7ce9b71cb3a530c">Ipopt::RestoIpoptNLP</a>.</p>

</div>
</div>
<a id="a82fd62f7a40a6f5545bfbb66e0e2a007"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a82fd62f7a40a6f5545bfbb66e0e2a007">&#9670;&nbsp;</a></span>d_U()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;const <a class="el" href="classIpopt_1_1Vector.html">Vector</a>&gt; Ipopt::IpoptNLP::d_U </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Upper bounds on d. </p>

<p>Implemented in <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#a46e50417ae25161c49e3f1de62f73384">Ipopt::OrigIpoptNLP</a>, and <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#a6a06beb15958995ecbcb9995c498ac8e">Ipopt::RestoIpoptNLP</a>.</p>

</div>
</div>
<a id="a978d09309fbf77d46ce26021512c5a15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a978d09309fbf77d46ce26021512c5a15">&#9670;&nbsp;</a></span>Pd_U()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;const <a class="el" href="classIpopt_1_1Matrix.html">Matrix</a>&gt; Ipopt::IpoptNLP::Pd_U </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Permutation matrix (d_U_ -&gt; d. </p>

<p>Implemented in <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#ab8fa043ce63db2e6663227917180e520">Ipopt::OrigIpoptNLP</a>, and <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#ad747dbaf1fea48eb575f068ff596da5d">Ipopt::RestoIpoptNLP</a>.</p>

</div>
</div>
<a id="a4b4ff07de1cb8b58eb27c18b45a788fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4b4ff07de1cb8b58eb27c18b45a788fc">&#9670;&nbsp;</a></span>x_space()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;const <a class="el" href="classIpopt_1_1VectorSpace.html">VectorSpace</a>&gt; Ipopt::IpoptNLP::x_space </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>x_space </p>

<p>Implemented in <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#aaab260265852ed80766861ce9420f2ae">Ipopt::OrigIpoptNLP</a>, and <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#a1778ed5eec2873c2ed166dc3d54413f7">Ipopt::RestoIpoptNLP</a>.</p>

</div>
</div>
<a id="aa9e6ccff3e44a36add3ab5a239a67e5d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9e6ccff3e44a36add3ab5a239a67e5d">&#9670;&nbsp;</a></span>HessianMatrixSpace()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;const <a class="el" href="classIpopt_1_1SymMatrixSpace.html">SymMatrixSpace</a>&gt; Ipopt::IpoptNLP::HessianMatrixSpace </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Accessor method to obtain the <a class="el" href="classIpopt_1_1MatrixSpace.html" title="MatrixSpace base class, corresponding to the Matrix base class.">MatrixSpace</a> for the Hessian matrix (or it's approximation) </p>

<p>Implemented in <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#a672b88580aa879ddaf24081fd76af09d">Ipopt::OrigIpoptNLP</a>, and <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#a3998a2cbd891e8f1eab37e0d6adabd03">Ipopt::RestoIpoptNLP</a>.</p>

</div>
</div>
<a id="a1a3987d27e6bd002a12168de5fd5600a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1a3987d27e6bd002a12168de5fd5600a">&#9670;&nbsp;</a></span>GetSpaces()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Ipopt::IpoptNLP::GetSpaces </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1VectorSpace.html">VectorSpace</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>x_space</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1VectorSpace.html">VectorSpace</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>c_space</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1VectorSpace.html">VectorSpace</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>d_space</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1VectorSpace.html">VectorSpace</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>x_l_space</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1MatrixSpace.html">MatrixSpace</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>px_l_space</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1VectorSpace.html">VectorSpace</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>x_u_space</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1MatrixSpace.html">MatrixSpace</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>px_u_space</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1VectorSpace.html">VectorSpace</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>d_l_space</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1MatrixSpace.html">MatrixSpace</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>pd_l_space</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1VectorSpace.html">VectorSpace</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>d_u_space</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1MatrixSpace.html">MatrixSpace</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>pd_u_space</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1MatrixSpace.html">MatrixSpace</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>Jac_c_space</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1MatrixSpace.html">MatrixSpace</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>Jac_d_space</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1SymMatrixSpace.html">SymMatrixSpace</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>Hess_lagrangian_space</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Accessor method for vector/matrix spaces pointers. </p>

<p>Implemented in <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#a579f0399b8a1dec9a5bd25e4c9cd9adc">Ipopt::OrigIpoptNLP</a>, and <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#ad1284098768b6a6bbf8525bb508c0b2d">Ipopt::RestoIpoptNLP</a>.</p>

</div>
</div>
<a id="aa37f418b204ddf06cc256282396f0624"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa37f418b204ddf06cc256282396f0624">&#9670;&nbsp;</a></span>AdjustVariableBounds()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Ipopt::IpoptNLP::AdjustVariableBounds </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>new_x_L</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>new_x_U</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>new_d_L</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>new_d_U</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method for adapting the variable bounds. </p>
<p>This is called if slacks are becoming too small </p>

<p>Implemented in <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#a69a5274b61994b0200f5b35b7256dbb8">Ipopt::OrigIpoptNLP</a>, and <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#a71faeafbfc478eb59d3fa3dad91bb338">Ipopt::RestoIpoptNLP</a>.</p>

</div>
</div>
<a id="a2ffab0bc6351f661c852a5b8af4a3806"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ffab0bc6351f661c852a5b8af4a3806">&#9670;&nbsp;</a></span>f_evals()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a> Ipopt::IpoptNLP::f_evals </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implemented in <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#a284f5b06b7183969358fb5f8605139a8">Ipopt::RestoIpoptNLP</a>, and <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#acf90f9551fde97b75797b073a2a5cfa1">Ipopt::OrigIpoptNLP</a>.</p>

</div>
</div>
<a id="acaa0bb9fd1a192eb3054b266a57b49f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acaa0bb9fd1a192eb3054b266a57b49f8">&#9670;&nbsp;</a></span>grad_f_evals()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a> Ipopt::IpoptNLP::grad_f_evals </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implemented in <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#a973d15f8154dea7d8d116760db65eebf">Ipopt::RestoIpoptNLP</a>, and <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#a3705e2abdc0be5093a7f3be254c933a6">Ipopt::OrigIpoptNLP</a>.</p>

</div>
</div>
<a id="a77738f5e762f18d89d79ee0dbab22b8e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a77738f5e762f18d89d79ee0dbab22b8e">&#9670;&nbsp;</a></span>c_evals()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a> Ipopt::IpoptNLP::c_evals </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implemented in <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#a3efeea375a4eaf4b25f8754e221e83ae">Ipopt::RestoIpoptNLP</a>, and <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#aeaee290f9804a13434ce5b829f7e6880">Ipopt::OrigIpoptNLP</a>.</p>

</div>
</div>
<a id="ace941433752a08ea1a3a802d70d7394f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace941433752a08ea1a3a802d70d7394f">&#9670;&nbsp;</a></span>jac_c_evals()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a> Ipopt::IpoptNLP::jac_c_evals </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implemented in <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#a784ab3b080c8ef0a9024e9f6d667a77a">Ipopt::RestoIpoptNLP</a>, and <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#a58235bb85718035806e82062b426c118">Ipopt::OrigIpoptNLP</a>.</p>

</div>
</div>
<a id="a5904d8ed12251843bfe66fb4ddbfc3e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5904d8ed12251843bfe66fb4ddbfc3e0">&#9670;&nbsp;</a></span>d_evals()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a> Ipopt::IpoptNLP::d_evals </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implemented in <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#af1ed30d6371dbde3e070320659060b5b">Ipopt::RestoIpoptNLP</a>, and <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#ad478ba38dd72cf4cf037ce9422efadba">Ipopt::OrigIpoptNLP</a>.</p>

</div>
</div>
<a id="a9b3cd186c84eafe0936149403076064b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b3cd186c84eafe0936149403076064b">&#9670;&nbsp;</a></span>jac_d_evals()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a> Ipopt::IpoptNLP::jac_d_evals </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implemented in <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#ac64278f86e54009481d7440f23ceda62">Ipopt::RestoIpoptNLP</a>, and <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#afba35bbd698f69c25bd53fc6852cd544">Ipopt::OrigIpoptNLP</a>.</p>

</div>
</div>
<a id="aea2902047ff72c2821cdc50f15d49e69"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea2902047ff72c2821cdc50f15d49e69">&#9670;&nbsp;</a></span>h_evals()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a> Ipopt::IpoptNLP::h_evals </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implemented in <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#a367790e06b46d60886bb51c1d450180c">Ipopt::RestoIpoptNLP</a>, and <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#a6ea732199be4ae7633dabc23e2eec4b9">Ipopt::OrigIpoptNLP</a>.</p>

</div>
</div>
<a id="a11018a9bd2cae56e4a92e5a920d8e452"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11018a9bd2cae56e4a92e5a920d8e452">&#9670;&nbsp;</a></span>objective_depends_on_mu()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool Ipopt::IpoptNLP::objective_depends_on_mu </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Method for telling the <a class="el" href="classIpopt_1_1IpoptCalculatedQuantities.html" title="Class for all IPOPT specific calculated quantities.">IpoptCalculatedQuantities</a> class whether the objective function depends on the barrier function. </p>
<p>This is only used for the restoration phase <a class="el" href="classIpopt_1_1NLP.html" title="Traditional NLP.">NLP</a> formulation. Probably only <a class="el" href="classIpopt_1_1RestoIpoptNLP.html" title="This class maps a IpoptNLP into one that is used for the restoration phase of Ipopt.">RestoIpoptNLP</a> should overwrite this. </p>

<p>Reimplemented in <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#aa3be9691d10f730a20d5cbbe56af8095">Ipopt::RestoIpoptNLP</a>.</p>

<p class="definition">Definition at line <a class="el" href="IpIpoptNLP_8hpp_source.html#l00220">220</a> of file <a class="el" href="IpIpoptNLP_8hpp_source.html">IpIpoptNLP.hpp</a>.</p>

</div>
</div>
<a id="ab0f91d868694f977cc7c8d09eadb9c28"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0f91d868694f977cc7c8d09eadb9c28">&#9670;&nbsp;</a></span>f() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a> Ipopt::IpoptNLP::f </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td>
          <td class="paramname"><em>mu</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Replacement for the default objective function method which knows about the barrier parameter. </p>

<p>Implemented in <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#a0b5602efe18f409878e22d3df33c9893">Ipopt::RestoIpoptNLP</a>, and <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#aa4b64098d558c009154f84883a618b46">Ipopt::OrigIpoptNLP</a>.</p>

</div>
</div>
<a id="aca6cbd452e177a6acf0be582c5fc31b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca6cbd452e177a6acf0be582c5fc31b3">&#9670;&nbsp;</a></span>grad_f() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;const <a class="el" href="classIpopt_1_1Vector.html">Vector</a>&gt; Ipopt::IpoptNLP::grad_f </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td>
          <td class="paramname"><em>mu</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Replacement for the default objective gradient method which knows about the barrier parameter. </p>

<p>Implemented in <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#a47ae5522ee95c36840bdf594b08cb4ce">Ipopt::OrigIpoptNLP</a>, and <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#adcc9b48e0c95591f5044b7e3cb3ba858">Ipopt::RestoIpoptNLP</a>.</p>

</div>
</div>
<a id="a76e5d4c3a8c0b754b14f14934f85d7fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a76e5d4c3a8c0b754b14f14934f85d7fc">&#9670;&nbsp;</a></span>h() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;const <a class="el" href="classIpopt_1_1SymMatrix.html">SymMatrix</a>&gt; Ipopt::IpoptNLP::h </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td>
          <td class="paramname"><em>obj_factor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>yc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>yd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td>
          <td class="paramname"><em>mu</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Replacement for the default Lagrangian Hessian method which knows about the barrier parameter. </p>

<p>Implemented in <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#a894ef24326584a8dd59623295f82ac4d">Ipopt::OrigIpoptNLP</a>, and <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#ad59270ce1fb09aa472a75dbef273e511">Ipopt::RestoIpoptNLP</a>.</p>

</div>
</div>
<a id="abe3cca9adebb3bcc95c22c398dd86d46"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe3cca9adebb3bcc95c22c398dd86d46">&#9670;&nbsp;</a></span>uninitialized_h()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;const <a class="el" href="classIpopt_1_1SymMatrix.html">SymMatrix</a>&gt; Ipopt::IpoptNLP::uninitialized_h </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Provides a Hessian matrix from the correct matrix space with uninitialized values. </p>
<p>This can be used in LeastSquareMults to obtain a "zero Hessian". </p>

<p>Implemented in <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#a0ebe96316e391d53370a08198ebe3bfa">Ipopt::OrigIpoptNLP</a>, and <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#a4f467922289cec6d42b8d8ba4da4ad3a">Ipopt::RestoIpoptNLP</a>.</p>

</div>
</div>
<a id="a60987910a9e5b98a8b7d0a6de159dbc9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a60987910a9e5b98a8b7d0a6de159dbc9">&#9670;&nbsp;</a></span>FinalizeSolution()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Ipopt::IpoptNLP::FinalizeSolution </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#a53a5dc5f64f568252ba7bb7385e7f834">SolverReturn</a>&#160;</td>
          <td class="paramname"><em>status</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>z_L</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>z_U</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>y_c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1Vector.html">Vector</a> &amp;&#160;</td>
          <td class="paramname"><em>y_d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td>
          <td class="paramname"><em>obj_value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1IpoptData.html">IpoptData</a> *&#160;</td>
          <td class="paramname"><em>ip_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1IpoptCalculatedQuantities.html">IpoptCalculatedQuantities</a> *&#160;</td>
          <td class="paramname"><em>ip_cq</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implemented in <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#a5b4bb665e763f103c414980ba53c1935">Ipopt::RestoIpoptNLP</a>, and <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#a65ee7ef6abb4ace316758ae9631c566b">Ipopt::OrigIpoptNLP</a>.</p>

</div>
</div>
<a id="a4288990eceacf3c09c663f3954ff27d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4288990eceacf3c09c663f3954ff27d6">&#9670;&nbsp;</a></span>IntermediateCallBack()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool Ipopt::IpoptNLP::IntermediateCallBack </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="IpReturnCodes__inc_8h.html#a5daff61568f9909c518fb61116260387">AlgorithmMode</a>&#160;</td>
          <td class="paramname"><em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td>
          <td class="paramname"><em>iter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td>
          <td class="paramname"><em>obj_value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td>
          <td class="paramname"><em>inf_pr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td>
          <td class="paramname"><em>inf_du</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td>
          <td class="paramname"><em>mu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td>
          <td class="paramname"><em>d_norm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td>
          <td class="paramname"><em>regularization_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td>
          <td class="paramname"><em>alpha_du</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#ab75ce5f2ad60aa86e4dff723998e653f">Number</a>&#160;</td>
          <td class="paramname"><em>alpha_pr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td>
          <td class="paramname"><em>ls_trials</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; const <a class="el" href="classIpopt_1_1IpoptData.html">IpoptData</a> &gt;&#160;</td>
          <td class="paramname"><em>ip_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt; <a class="el" href="classIpopt_1_1IpoptCalculatedQuantities.html">IpoptCalculatedQuantities</a> &gt;&#160;</td>
          <td class="paramname"><em>ip_cq</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implemented in <a class="el" href="classIpopt_1_1OrigIpoptNLP.html#a4a599bba0d3d2a9a0668b705e25d1601">Ipopt::OrigIpoptNLP</a>, and <a class="el" href="classIpopt_1_1RestoIpoptNLP.html#a0c2d0d657fc1e6cfd230aa5915e42407">Ipopt::RestoIpoptNLP</a>.</p>

</div>
</div>
<a id="ab17c6c1810f3357281b9fedfc792b79c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab17c6c1810f3357281b9fedfc792b79c">&#9670;&nbsp;</a></span>NLP_scaling()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1NLPScalingObject.html">NLPScalingObject</a>&gt; Ipopt::IpoptNLP::NLP_scaling </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the scaling strategy object. </p>

<p class="definition">Definition at line <a class="el" href="IpIpoptNLP_8hpp_source.html#l00294">294</a> of file <a class="el" href="IpIpoptNLP_8hpp_source.html">IpIpoptNLP.hpp</a>.</p>

</div>
</div>
<a id="a43966659d3c5454442d758e356a615d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a43966659d3c5454442d758e356a615d8">&#9670;&nbsp;</a></span>operator=()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Ipopt::IpoptNLP::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classIpopt_1_1IpoptNLP.html">IpoptNLP</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default Assignment Operator. </p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="aab65358b304095a3bf3d5865df20dc58"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab65358b304095a3bf3d5865df20dc58">&#9670;&nbsp;</a></span>nlp_scaling_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1SmartPtr.html">SmartPtr</a>&lt;<a class="el" href="classIpopt_1_1NLPScalingObject.html">NLPScalingObject</a>&gt; Ipopt::IpoptNLP::nlp_scaling_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="IpIpoptNLP_8hpp_source.html#l00323">323</a> of file <a class="el" href="IpIpoptNLP_8hpp_source.html">IpIpoptNLP.hpp</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/Algorithm/<a class="el" href="IpIpoptNLP_8hpp_source.html">IpIpoptNLP.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</body>
</html>
